Skip to content

Edit chat shape#46

Closed
bourgeoa wants to merge 11 commits intosolid:edit-chat-shapefrom
bourgeoa:edit-chat-shape
Closed

Edit chat shape#46
bourgeoa wants to merge 11 commits intosolid:edit-chat-shapefrom
bourgeoa:edit-chat-shape

Conversation

@bourgeoa
Copy link
Copy Markdown
Member

@bourgeoa bourgeoa commented Apr 7, 2026

see issue #40

Summary

Add longchat-specific SHACL shapes to shapes/chat.ttl without changing the existing published chat shapes.

What Changed

  • added LongChatChannelShape for mee:LongChat channels
  • added LongChatMessageShape for signed chat messages with append-only replacement links
  • added AppendOnlyMessageVersionShape for message version chains via dct:isReplacedBy
  • added DeletedLongChatMessageShape for replacement messages carrying deletion timestamps
  • added LongChatThreadShape for sioc:Thread reply structures
  • added LongChatActionShape for sentiment/action nodes targeting chat messages
  • accepted both https://schema.org/ and legacy http://schema.org/ predicates for compatibility with existing data
  • documented that sec:proofValue currently signs the core message fields only

Why

The current SolidOS long chat implementation stores richer chat data than the legacy chat shapes describe:

  • dated message documents (YYYY/MM/DD/chat.ttl)
  • signed messages
  • append-only edit and delete flows
  • thread membership through sioc:Thread
  • historical use of http://schema.org/ in deployed chat data

These additions model that behavior as new semantic variants inside the existing chat domain, while preserving the existing Chat* shapes unchanged.

Compatibility

  • no existing Chat* shape was renamed or modified incompatibly
  • legacy http://schema.org/ data remains valid
  • newer https://schema.org/ data is also accepted

Validation

Validated successfully with:

  • python3 scripts/validate-shacl-shapes-file.py shapes/chat.ttl
  • python3 scripts/check-namespaces-and-names-file.py shapes/chat.ttl
  • python3 scripts/check-metadata-and-immutability-file.py shapes/chat.ttl

@elf-pavlik
Copy link
Copy Markdown
Member

I think this branch needs a rebase

@bourgeoa bourgeoa closed this Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants